package com.ruoyi.erp.domain.bo;

import com.ruoyi.common.annotation.query.*;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 职员业务对象 base_employee
 *
 * @author chenyun
 * @date 2022-03-06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("职员业务对象")
public class EmployeeBo extends BaseEntity {

    /**
     * 编号
     */
    @EQ
    @ApiModelProperty(value = "编号", required = true)
    @NotNull(message = "编号不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 机构
     */
    @EQ
    @ApiModelProperty(value = "机构", required = true)
    @NotNull(message = "机构不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orgId;

    /**
     * 部门
     */
    @EQ
    @ApiModelProperty(value = "部门", required = true)
    @NotNull(message = "部门不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long deptId;

    /**
     * 职员编码
     */
    @EQ
    @ApiModelProperty(value = "职员编码", required = true)
    @NotBlank(message = "职员编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String personCode;

    /**
     * 职员姓名
     */
    @LikeRight
    @ApiModelProperty(value = "职员姓名", required = true)
    @NotBlank(message = "职员姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String personName;

    /**
     * 性别
     */
    @EQ
    @ApiModelProperty(value = "性别", required = true)
    @NotNull(message = "性别不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sex;

    /**
     * 出生日期
     */
    @EQ
    @ApiModelProperty(value = "出生日期", required = true)
    @NotNull(message = "出生日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date birthday;

    /**
     * 出生地
     */
    @EQ
    @ApiModelProperty(value = "出生地", required = true)
    @NotBlank(message = "出生地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String birthplace;

    /**
     * 证件号
     */
    @EQ
    @ApiModelProperty(value = "证件号", required = true)
    @NotBlank(message = "证件号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String idCard;

    /**
     * 状态
     */
    @EQ
    @ApiModelProperty(value = "状态", required = true)
    @NotBlank(message = "状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String state;

    /**
     * 备注信息
     */
    @EQ
    @ApiModelProperty(value = "备注信息")
    private String remark;

    /**
     * 手机号
     */
    @EQ
    @ApiModelProperty(value = "手机号", required = true)
    @NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String mobile;

    /**
     * 邮箱
     */
    @EQ
    @ApiModelProperty(value = "邮箱", required = true)
    @NotBlank(message = "邮箱不能为空", groups = { AddGroup.class, EditGroup.class })
    private String email;


}
